# Packages ----
library(reticulate)
library(tidyverse)
── Attaching packages ────────────────────────────────────────────── tidyverse 1.2.1 ──
✔ ggplot2 3.1.0     ✔ purrr   0.3.0
✔ tibble  2.0.1     ✔ dplyr   0.7.8
✔ tidyr   0.8.2     ✔ stringr 1.4.0
✔ readr   1.3.1     ✔ forcats 0.3.0
── Conflicts ───────────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
                      mpg  cyl   disp     hp  ...    vs   am  gear  carb
Mazda RX4            21.0  6.0  160.0  110.0  ...   0.0  1.0   4.0   4.0
Mazda RX4 Wag        21.0  6.0  160.0  110.0  ...   0.0  1.0   4.0   4.0
Datsun 710           22.8  4.0  108.0   93.0  ...   1.0  1.0   4.0   1.0
Hornet 4 Drive       21.4  6.0  258.0  110.0  ...   1.0  0.0   3.0   1.0
Hornet Sportabout    18.7  8.0  360.0  175.0  ...   0.0  0.0   3.0   2.0
Valiant              18.1  6.0  225.0  105.0  ...   1.0  0.0   3.0   1.0
Duster 360           14.3  8.0  360.0  245.0  ...   0.0  0.0   3.0   4.0
Merc 240D            24.4  4.0  146.7   62.0  ...   1.0  0.0   4.0   2.0
Merc 230             22.8  4.0  140.8   95.0  ...   1.0  0.0   4.0   2.0
Merc 280             19.2  6.0  167.6  123.0  ...   1.0  0.0   4.0   4.0
Merc 280C            17.8  6.0  167.6  123.0  ...   1.0  0.0   4.0   4.0
Merc 450SE           16.4  8.0  275.8  180.0  ...   0.0  0.0   3.0   3.0
Merc 450SL           17.3  8.0  275.8  180.0  ...   0.0  0.0   3.0   3.0
Merc 450SLC          15.2  8.0  275.8  180.0  ...   0.0  0.0   3.0   3.0
Cadillac Fleetwood   10.4  8.0  472.0  205.0  ...   0.0  0.0   3.0   4.0
Lincoln Continental  10.4  8.0  460.0  215.0  ...   0.0  0.0   3.0   4.0
Chrysler Imperial    14.7  8.0  440.0  230.0  ...   0.0  0.0   3.0   4.0
Fiat 128             32.4  4.0   78.7   66.0  ...   1.0  1.0   4.0   1.0
Honda Civic          30.4  4.0   75.7   52.0  ...   1.0  1.0   4.0   2.0
Toyota Corolla       33.9  4.0   71.1   65.0  ...   1.0  1.0   4.0   1.0
Toyota Corona        21.5  4.0  120.1   97.0  ...   1.0  0.0   3.0   1.0
Dodge Challenger     15.5  8.0  318.0  150.0  ...   0.0  0.0   3.0   2.0
AMC Javelin          15.2  8.0  304.0  150.0  ...   0.0  0.0   3.0   2.0
Camaro Z28           13.3  8.0  350.0  245.0  ...   0.0  0.0   3.0   4.0
Pontiac Firebird     19.2  8.0  400.0  175.0  ...   0.0  0.0   3.0   2.0
Fiat X1-9            27.3  4.0   79.0   66.0  ...   1.0  1.0   4.0   1.0
Porsche 914-2        26.0  4.0  120.3   91.0  ...   0.0  1.0   5.0   2.0
Lotus Europa         30.4  4.0   95.1  113.0  ...   1.0  1.0   5.0   2.0
Ford Pantera L       15.8  8.0  351.0  264.0  ...   0.0  1.0   5.0   4.0
Ferrari Dino         19.7  6.0  145.0  175.0  ...   0.0  1.0   5.0   6.0
Maserati Bora        15.0  8.0  301.0  335.0  ...   0.0  1.0   5.0   8.0
Volvo 142E           21.4  4.0  121.0  109.0  ...   1.0  1.0   4.0   2.0

[32 rows x 11 columns]
                      mpg  cyl     hp
Mazda RX4            21.0  6.0  110.0
Mazda RX4 Wag        21.0  6.0  110.0
Hornet 4 Drive       21.4  6.0  110.0
Hornet Sportabout    18.7  8.0  175.0
Valiant              18.1  6.0  105.0
Duster 360           14.3  8.0  245.0
Merc 280             19.2  6.0  123.0
Merc 280C            17.8  6.0  123.0
Merc 450SE           16.4  8.0  180.0
Merc 450SL           17.3  8.0  180.0
Merc 450SLC          15.2  8.0  180.0
Cadillac Fleetwood   10.4  8.0  205.0
Lincoln Continental  10.4  8.0  215.0
Chrysler Imperial    14.7  8.0  230.0
Dodge Challenger     15.5  8.0  150.0
AMC Javelin          15.2  8.0  150.0
Camaro Z28           13.3  8.0  245.0
Pontiac Firebird     19.2  8.0  175.0
Ford Pantera L       15.8  8.0  264.0
Ferrari Dino         19.7  6.0  175.0
Maserati Bora        15.0  8.0  335.0

np <- import("numpy")
np$random$normal(size = 10L)
 [1] -2.52682511 -0.96854307 -0.54298519 -0.35978411
 [5] -1.22783111 -0.44273171  0.60108638  0.73528756
 [9] -0.07275756 -0.26822269
np$random$normal(size = 10L)
 [1] -0.32592568 -0.05193403 -0.36509851 -0.24433368
 [5]  0.52670800  1.53481219  0.22399306 -2.26203832
 [9]  0.96856844 -1.80302492
os <- import("os")
os$listdir(".")
source_python("add.py")
py_add(2, 3)
[1] 5
LS0tCnRpdGxlOiAiUmV0aWN1bGF0ZSBEZW1vIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgpgYGB7ciBzZXR1cH0KIyBQYWNrYWdlcyAtLS0tCmxpYnJhcnkocmV0aWN1bGF0ZSkKbGlicmFyeSh0aWR5dmVyc2UpCmBgYAoKYGBge3J9Cm10Y2FycwpgYGAKCmBgYHtweXRob259CnByaW50KHIubXRjYXJzKQpgYGAKCmBgYHtweXRob259Cm5ld19jYXJzID0gci5tdGNhcnNbWydtcGcnLCAnY3lsJywgJ2hwJ11dLmxvY1tyLm10Y2Fyc1snY3lsJ10gPiA0XQpwcmludChuZXdfY2FycykKYGBgCgpgYGB7cn0KcHkkbmV3X2NhcnMgJT4lIAogIGdncGxvdChhZXMoeCA9IG1wZywgeSA9IGhwLCBjb2wgPSBjeWwpKSArCiAgZ2VvbV9wb2ludCgpCmBgYAoKCmBgYHtyfQpweSRzdWJfY2FycyAlPiUgCiAgZ2dwbG90KGFlcyh4ID0gbXBnLCB5ID0gaHAsIGNvbCA9IGN5bCkpICsKICBnZW9tX3BvaW50KCkKYGBgCgpgYGB7cn0KbnAgPC0gaW1wb3J0KCJudW1weSIpCm5wJHJhbmRvbSRub3JtYWwoc2l6ZSA9IDEwTCkKbnAkcmFuZG9tJG5vcm1hbChzaXplID0gMTBMKQpgYGAKCmBgYHtyfQpvcyA8LSBpbXBvcnQoIm9zIikKb3MkbGlzdGRpcigiLiIpCmBgYAoKCmBgYHtyfQpzb3VyY2VfcHl0aG9uKCJhZGQucHkiKQpgYGAKCmBgYHtyfQpweV9hZGQoMiwgMykKYGBgCgoK